const fs = require("fs");
const path = require("path");

console.log(path.basename(__filename));
console.log(__dirname);
// 修改文件名
// fs.renameSync(oldPath, newPath, )
// fs.renameSync("04.zks.js", "04.z.js");

// 异步追加内容
fs.appendFile(path.join(__dirname, "files", "1.txt"), "追加内容", (err) => {
  if (err) throw err;
  console.log("Content appended to file.");
});

// 异步删除文件
// fs.unlink(path.join(__dirname, "files", "03.txt"), (err) => {
//   if (err) throw err;
//   console.log("File deleted.");
// });

// 获取文件信息;
fs.stat(path.join(__dirname, "files", "1.txt"), function (err, stats) {
  if (err) {
    return console.log(err);
  }
  console.log(stats.isFile()); //true
  //   console.log(stats);
});

// stats类中的方法有：
// 方法	描述
// stats.isFile()	如果是文件返回 true，否则返回 false。
// stats.isDirectory()	如果是目录返回 true，否则返回 false。
// stats.isBlockDevice()	如果是块设备返回 true，否则返回 false。
// stats.isCharacterDevice()	如果是字符设备返回 true，否则返回 false。
// stats.isSymbolicLink()	如果是软链接返回 true，否则返回 false。
// stats.isFIFO()	如果是FIFO，返回true，否则返回 false。FIFO是UNIX中的一种特殊类型的命令管道。
// stats.isSocket()	如果是 Socket 返回 true，否则返回 false。
